package com.vhall.component.entity.lottery.vo;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.vhall.component.framework.common.annotation.ParamName;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;

/**
 * 新建奖品请求VO
 *
 * @author zhangtao
 */
@Data
@NoArgsConstructor
public class AwardVO implements Serializable {

    private Long id;

    /**
     * B端用户ID
     */
    @ParamName("business_uid")
    @JsonProperty("business_uid")
    @NotNull(message = "B端用户ID不能为空")
    private Long businessUid;

    /**
     * paas应用ID
     */
    @ParamName("app_id")
    @JsonProperty("app_id")
    @NotBlank(message = "应用ID不能为空")
    private String appId;

    /**
     * 来源ID
     */
    @ParamName("source_id")
    @JsonProperty("source_id")
    private String sourceId;

    /**
     * 奖品名称
     */
    @ParamName("award_name")
    @JsonProperty("award_name")
    @NotBlank(message = "奖品名称不能为空")
    private String awardName;

    /**
     * 图片地址
     */
    @ParamName("image_url")
    @JsonProperty("image_url")
    @NotBlank(message = "奖品图片不能为空")
    private String imageUrl;

    /**
     * 奖品说明
     */
    @ParamName("award_desc")
    @JsonProperty("award_desc")
    private String awardDesc;

    /**
     * 跳转链接
     */
    @ParamName("link_url")
    @JsonProperty("link_url")
    private String linkUrl;

    /**
     * 创建时间
     */
    @JsonProperty("created_at")
    private Date createdAt;


}
